package org.lq.dlz.service;

import java.util.List;

import org.lq.dlz.common.Page;
import org.lq.dlz.entity.Product;
import org.lq.dlz.query.ProductQuery;

/**
 * 
 * @author 于通
 * @date   2019年9月7日
*
 */
public interface ProductService {
/**
 * 保存
 * @param p
 * @return
 */
	public boolean saveProduct(Product p);
/**
 * 修改
 * @param p
 * @return
 */
	public boolean updateProduct(Product p);

	/**
	 * 通过商品id查询商品信息
	 * @param id
	 * @return
	 */
	public Product getProductById(int id);
	/**
	 * 分页查询商品信息
	 * @param page
	 * @return
	 */
	public List<Product> findPage(Page<Product> page);
	/**
	 * 通过商品分类id查询商品
	 * @param cid
	 * @return
	 */
	public List<Product> getProductByCategoryId(int cid,Page<Product> page);
	/**
	 * 查询总数
	 */
	public int totalCount();
	
	
	/**
	 * 查询总数
	 */
	public int totalCount(ProductQuery query);
	
	/**
	 * 分页
	 * 
	 * @param page
	 * @param query
	 * @return
	 */
	public String findPage(Page<Product> page,ProductQuery query);
	/**
	 * 修改状态
	 * @param id
	 * @param status
	 * @return
	 */
	public boolean updateStatus(int id,int status);
	/**
	 * 根据修改时间  展示'热销'商品
	 * @return
	 */
	public List<Product> getHotProduct();
	
	/**
	 * 根据父级分类查询商品
	 * 
	 * @param page
	 * @param query
	 */
	public void findProductByCid(Page<Product> page,ProductQuery query);
	
	/**
	 * 查询购物车商品
	 * @param id
	 * @return
	 */
	public List<Product> findCartProduct(int... id);
	
	
	
	
	
}
